package com.chanyachting.emall.service;

import java.util.List;

import com.chanyachting.emall.domain.Company;
import com.chanyachting.emall.domain.Companyproduct;
import com.chanyachting.emall.domain.Sellyacht;




/*****
 * 公司产品操作接口
 * @author robert
 *
 */
public interface CompanyproductService {
	
	
	//创建公司产品
	public boolean createCompanyproduct(Companyproduct cp);
	
	//修改公司产品
	public boolean updateCompanyproduct(Companyproduct cp);
	
	//删除公司产品
	public boolean delCompanyproduct(Companyproduct cp);
	
	//发布公司产品
	public boolean releaseCompanyproduct(Companyproduct cp);
	
	//下架公司产品
	public boolean underCompanyproduct(Companyproduct cp);
	
	//刷新公司产品
	public boolean refreshCompanyproduct(Companyproduct cp);
	
	//不推荐公司产品
	public boolean unPublicCompanyproduct(Companyproduct cp);
	
	//查询一个公司产品对象
	public Companyproduct getOneCompanyproduct(Companyproduct cp);
	
	//查询所有公司产品对象
	public List<Companyproduct> getAllCompanyproduct();
	
	//查询所有已经公开的公司产品对象
	public List<Companyproduct> getAllPublishCompanyproduct();
	
	//查询指定公司的所有产品对象
	public List<Companyproduct> getCompanyproductByCompany(Company company);
	
	//查询指定公司的所有已公开产品对象
	public List<Companyproduct> getPublishCompanyproductByCompany(Company company);
	
	public List<Companyproduct> getPublishCompanyproductByCompany(Company company,String productType);
	
	
	//查询指定公司所有未公开的产品对象
	public List<Companyproduct> getUnderCompanyproductByCompany(Company company);
	
	public List<Companyproduct> getUnderCompanyproductByCompany(Company company,String productType);
	
	//查询上架的商品数量
	public int getPublishCompanyproductCount();
	
	public boolean publicCompanyproduct(Companyproduct cp);
	
	//分页查询
	public List getAllPublicCompanyproduct(int currentPage,int pageSize);
	
	public List<Companyproduct> getRecommendCompanyproductByCompany(Company company, String productType);
}
